home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 January / enter-2004-01.iso / files / maxima-5.9.0.exe / {app} / share / maxima / 5.9.0 / src / trdata.lisp < prev    next >
Encoding:
Text File  |  2003-02-09  |  3.7 KB  |  123 lines

  1. ;;; -*-  Mode: Lisp; Package: Maxima; Syntax: Common-Lisp; Base: 10 -*- ;;;;
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. ;;;     The data in this file contains enhancments.                    ;;;;;
  4. ;;;                                                                    ;;;;;
  5. ;;;  Copyright (c) 1984,1987 by William Schelter,University of Texas   ;;;;;
  6. ;;;     All rights reserved                                            ;;;;;
  7. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  8. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  9. ;;; If you see bogus or missing data here, please tell GJC or JPG.     ;;;
  10. ;;;       (c) Copyright 1982 Massachusetts Institute of Technology       ;;;
  11. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  12.  
  13. (in-package "MAXIMA")
  14. (macsyma-module trdata)
  15.  
  16. ;;; N.B. This is some data. Boy, does it have subtle effect on the code
  17. ;;; produced by TRANSLATE. It should be carefully checked and updated.
  18. ;;; Since it is so small, and compiles so quickly it sometimes serves
  19. ;;; as a fix (i.e. hack) file. so be careful.
  20.  
  21.  
  22. (TRANSL-MODULE TRDATA)
  23.  
  24. (EVAL-WHEN (COMPILE)
  25.        (SETQ *DEF%TR-PRODUCES-AUTOLOAD-FILE* NIL))
  26.  
  27. ;; this should go someplace else perhaps.
  28.  
  29. (DEF-AUTOLOAD-TRANSLATE $romberg $interpolate)
  30.  
  31. ;;; MODEDECLARE(FUNCTION(LENGTH),FIXNUM)
  32.  
  33. ;;I think all this can be done at load time only:--wfs
  34. (eval-when (load)
  35.  
  36. (MAPC #'(LAMBDA (X) (PUTPROP X '$FIXNUM 'FUNCTION-MODE))
  37.       '($LENGTH $NTERMS RANDOM $NROOTS $RANK $POLYSIGN $TIME
  38.         $ARRAY_DIMENSION_N))
  39.  
  40. ;;; MODEDECLARE(FUNCTION(ROMBERG_SUBR),FLOAT)
  41. ;;; ROMBERG is a macsyma macro.
  42.  
  43. (MAPC #'(LAMBDA (X) (PUTPROP X '$FLOAT 'FUNCTION-MODE))
  44.       '($ROMBERG_SUBR $INTERPOLATE_SUBR))
  45.  
  46. ;;; Functions of BOOLEAN return VALUE. i.e. PREDICATES
  47.  
  48. (MAPC #'(LAMBDA (X) (PUTPROP X '$BOOLEAN 'FUNCTION-MODE))
  49.       '($ARRAY $BFLOATP $LISTP $MATRIXP $RATNUMP $CONSTANTP
  50.     $ATOM $FREEOF $subvarp $SYMBOLP
  51.     $evenp $oddp $orderlessp $ordergreatp $mapatom
  52.     $INTEGERP $FLOATNUMP $NONSCALARP $NUMBERP $RATP $MEMBER
  53.     $EMPTYP))
  54.  
  55. ;;; MODEDECLARE(TRUE,BOOLEAN)
  56.  
  57. (MAPC #'(LAMBDA (X) (PUTPROP X '$BOOLEAN 'MODE))
  58.       '($TRUE $FALSE $DOALLMXOPS $DOMXMXOPS $DOSCMXOPS $DETOUT
  59.           $DOTASSOC $DOTDISTRIB $DOTSCRULES $EXPONENTIALIZE
  60.           $KEEPFLOAT $LISTARITH $LOGSIMP
  61.           $MAXAPPLYHEIGHT $MAXAPPLYDEPTH $MAPERROR $POWERDISP
  62.           $SCALARMATRIX $SIMP $TTYOFF $UNDERFLOW $INFEVAL
  63.           $XAXIS $YAXIS $RATFAC))
  64.  
  65. (MAPC #'(LAMBDA (X) (PUTPROP X (STRIPDOLLAR X) 'LISP-FUNCTION-TO-USE))
  66.       '(%LOG %SIN %COS %TAN %COT %CSC %SEC %ACOT
  67.          %ASIN %ACOS %ACSC %ASEC
  68.     %SINH %COSH %TANH %COTH %CSCH %SECH %ASINH %ACSCH %ERF))
  69.  
  70. (MAPC #'(LAMBDA (X) (PUTPROP X T 'IMPLIED-QUOTEP))
  71.       '($EVAL $DONE $%I $%PI $%E $%PHI $%GAMMA
  72.           MQAPPLY ; important for array referencing conventions.
  73.           ))
  74.  
  75.  
  76. ;;; The result of a part function never needs simplification.
  77. ;;;  $CONS for example has the same property, although it
  78. ;;; is not a "PART" function.
  79.  
  80. ;;; ELL has just shown a bug with FIRST and REST interaction with
  81. ;;; DEFMATCH and MATCHDECLARE. The extra simplification needed
  82. ;;; it seems. LIST mode must be implemented, untill then the
  83. ;;; cost of the extra SIMPLFY call is not much compared with the
  84. ;;; consing involved. Above all, we must have correct code !!!
  85.  
  86. (MAPC #'(LAMBDA (L) (PUTPROP L t 'TR-NOSIMP))
  87.       '(;$FIRST $REST $LAST
  88.     $PRINT
  89.     $NUM $DENOM $LHS $RHS $PART
  90.     $CONS $REVERSE $ENDCONS $APPEND
  91.     $UNION $INTERSECTION $SETDIFF $SYMDIFF
  92.     $MAPSET $PREDSET |${| $ELEMENTOF
  93.     ))
  94.  
  95. (DEFPROP $REALPART $REALPART LISP-FUNCTION-TO-USE)
  96.  
  97.  
  98. (SETQ TRANSL-MODULES '(
  99.  
  100. TRANSS
  101. TRANSL
  102. TRUTIL
  103. TRANS1
  104. TRANS2
  105. TRANS3
  106. TRANS4
  107. TRANS5
  108. TRANSF
  109. TROPER
  110. TRPRED
  111.  
  112. MTAGS
  113. MDEFUN
  114. TRANSQ
  115. FCALL
  116. ACALL
  117. TRDATA
  118. MCOMPI
  119. TRMODE
  120. TRHOOK
  121. ))
  122.  
  123. )